package day0803API.WebServer;

import java.net.Socket;

//2.服务器接收到一个客户端的链接，就创建一个ClientThread线程
public class ClientThread  extends  Thread{
    private Socket socket;
    ClientThread(Socket socket){
        this.socket=socket;
    }
    public void run() {
        //A.将Socket中的信息封装在一个请求对象中
        HttpServletRequest request=new HttpServletRequest(socket);
        HttpServletResponse response=new HttpServletResponse(socket);//response对象是从socket中获取输出流，给浏览器返回数据
        //B.DispatcherServlet判断浏览器是要访问网页文件(登陆网页)还是要进行逻辑处理(逻辑判断<账号密码>)
        DispatcherServlet  dispatcherServlet=new DispatcherServlet();
        //调用DispatcherServlet的service： 判断浏览器是要访问同一个网页文件(网页文件)，还是要进行逻辑处理(判断账号密码)
        dispatcherServlet.service(request,response);
        //将需要返回的数据封装在一个响应对象中
        //再返回给浏览器
        response.responseDataToClient();
    }
}

//day0728API.WebServer代码：  浏览器发请求 (ip:端口要正确 )， 项目代码可以解析请求： 请求行、 消息头、  请求正文